package com.zbkj.service.service;

import java.util.List;

import com.zbkj.dal.base.enums.ExpressOrderType;
import com.zbkj.dal.base.enums.OrderAddressBizType;
import com.zbkj.dal.base.enums.OrderAddressType;
import com.zbkj.dal.base.enums.OrderSubStageType;
import com.zbkj.dal.entity.order.OrderAddress;
import com.zbkj.service.model.dto.address.OrderAddressCreateDTO;
import com.zbkj.service.model.dto.express.OrderAddressUpdateDTO;

public interface OrderAddressService {

    List<OrderAddress> getOrderAddressList(String orderNo, String subBizType);

    OrderAddress getOneOrderAddressList(String orderNo, OrderAddressType addressType, ExpressOrderType subBizType);

    /**
     * 新增地址
     *
     * @param orderNo           订单号
     * @param addressType       地址类型
     * @param orderSubStageType 订单地址子类型
     * @param userAddress       用户地址DTO
     * @return 成功与否
     */
    Boolean insertAddress(String orderNo, OrderAddressType addressType, ExpressOrderType orderSubStageType, OrderAddressCreateDTO userAddress);

    Boolean updateAddressByAddressId(OrderAddressUpdateDTO orderAddressUpdate);
}
